﻿Imports BUS
Imports DAO
Imports DTO
Public Class FormThemXoaSuaTheLoai

    Private Sub FormThemXoaSuaTheLoai_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LoadTheLoai()
    End Sub

    Private flag As Integer = 0
    Private tb As DataTable

#Region "Load thể loại"
    Private Sub LoadTheLoai()
        TextBox1.Clear()
        ButtonSua.Enabled = False
        tb = TheLoai_BUS.LoadTheLoai()
        ListBox1.DataSource = tb
        ListBox1.ValueMember = "MaTheLoai"
        ListBox1.DisplayMember = "TenTheLoai"
        ListBox1.ClearSelected()
        flag = 1
    End Sub
#End Region

#Region "Kiểm tra dữ liệu nhập"
    Private Function KiemTra() As Integer
        If TextBox1.Text <> "" Then
            For i As Integer = 0 To ListBox1.Items.Count - 1
                If TextBox1.Text = tb.Rows(i).Item(1).ToString() Then
                    MessageBox.Show("Tên thể loại này đã có", "Thông báo")
                    TextBox1.Focus()
                    Return 0
                End If
            Next
            Return 1
        Else
            MessageBox.Show("Chưa nhập tên thể loại", "Thông báo")
            TextBox1.Focus()
            Return 0
        End If
    End Function
#End Region

#Region "Xử lý nút thêm"
    Private Sub ButtonThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonThem.Click
        If KiemTra() = 1 Then
            Dim tl As New TheLoai_DTO(0, TextBox1.Text)
            If TheLoai_BUS.ThemTheLoai(tl) Then
                MessageBox.Show("Thêm thành công", "Thông báo")
                LoadTheLoai()
            End If
        End If
    End Sub
#End Region

    Private matlsua As Integer = -1

#Region "Xử lý nút sửa"
    Private Sub ButtonSua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSua.Click
        If matlsua > -1 Then
            Dim trung As Integer = 0
            For i As Integer = 0 To ListBox1.Items.Count - 1
                If i <> ListBox1.SelectedIndex And tb.Rows(i).Item(1).ToString() = TextBox1.Text Then
                    trung = 1
                End If
            Next
            If trung = 0 Then
                Dim tl As New TheLoai_DTO(matlsua, TextBox1.Text)
                If TheLoai_BUS.SuaTheLoai(tl) Then
                    MessageBox.Show("Sửa thành công", "Thông báo")
                    matlsua = -1
                    LoadTheLoai()
                    ButtonSua.Enabled = False
                    ButtonThem.Enabled = True
                End If
            Else
                MessageBox.Show("Tên thể loại này đang tồn tại", "Thông báo")
                TextBox1.Focus()
            End If
        Else
            MessageBox.Show("Chưa chọn thể loại", "Thông báo")
        End If
    End Sub
#End Region

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        If flag = 1 Then
            matlsua = ListBox1.SelectedValue
            TextBox1.Text = ListBox1.Text
            ButtonSua.Enabled = True
            ButtonThem.Enabled = False
        End If
    End Sub

    Private Sub ButtonReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonReset.Click
        TextBox1.Text = ""
        ListBox1.ClearSelected()
        ButtonSua.Enabled = False
        ButtonThem.Enabled = True
    End Sub

    Private Sub ButtonThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonThoat.Click
        Me.Close()
    End Sub

#Region "Đổi màu các button"
    Public Sub MauMoi(ByVal btn As Button, ByVal flag As Integer)

        If flag = 1 Then
            btn.BackColor = Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer))
        Else
            btn.BackColor = Color.Gray
        End If
    End Sub
#End Region

#Region "Gọi hàm đổi màu cho nút sửa"
    Private Sub ButtonSua_EnabledChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSua.EnabledChanged
        If ButtonSua.Enabled = True Then
            MauMoi(ButtonSua, 1)
        Else
            MauMoi(ButtonSua, 2)
        End If
    End Sub
#End Region


#Region "Gọi hàm đổi màu cho nut thêm"
    Private Sub ButtonThem_EnabledChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonThem.EnabledChanged
        If ButtonThem.Enabled = True Then
            MauMoi(ButtonThem, 1)
        Else
            MauMoi(ButtonThem, 2)
        End If
    End Sub
#End Region


End Class